<!-- 我的区域 -->

<template>
  <FormTreeMulti
    :label="`${GETTER.type}范围`"
    bind="planAssetIds"
    :dict="CORE.REGION.DICT"
    join
    allName
    required
    @change="changeArea"
  />
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyRegion',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 切换区域
     */
    changeArea(idList) {
      this.one.planAssetDto = idList.map((id) => {
        const { name = '-', parentId = '' } = CORE.REGION.MAP[id] || {}
        return {
          assetId: id,
          assetName: name,
          areaId: parentId, // 特殊需求，存储上级区域
          areaName: CORE.REGION.NAME[parentId] || '',
        }
      })
    },
  },
}
</script>
